package com.gamota.mobi.event;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import main.java.com.u1aryz.android.lib.newpopupmenu.MenuItem;
import android.view.View;

import com.gamota.mobi.ListingActivity.InstalledAppItem;
import com.gamota.mobi.model.AccessToken;
import com.gamota.mobi.model.AppStoreVnApplicationInfo;
import com.gamota.mobi.model.BankPayment;
import com.gamota.mobi.model.BannerItem;
import com.gamota.mobi.model.CategoryItem;
import com.gamota.mobi.model.CollectionGroup;
import com.gamota.mobi.model.CollectionList;
import com.gamota.mobi.model.CommentItem;
import com.gamota.mobi.model.ContentItemInfo;
import com.gamota.mobi.model.ContentItemInfo.Version;
import com.gamota.mobi.model.DownloadLaterItem;
import com.gamota.mobi.model.DownloadLink;
import com.gamota.mobi.model.DownloadedItem;
import com.gamota.mobi.model.ExchangeTymData;
import com.gamota.mobi.model.FBFeedItem;
import com.gamota.mobi.model.FBFeedItem.FBComments;
import com.gamota.mobi.model.FBFeedItem.FBLikes;
import com.gamota.mobi.model.FeedItem;
import com.gamota.mobi.model.GiftSetting;
import com.gamota.mobi.model.Giftbox;
import com.gamota.mobi.model.PaypalPayment;
import com.gamota.mobi.model.RecommendItem;
import com.gamota.mobi.model.SMSPayment;
import com.gamota.mobi.model.TopupResult;
import com.gamota.mobi.model.UserDownloaded;
import com.gamota.mobi.model.UserInfo;
import com.gamota.mobi.model.UserTransaction;

public class Event {
	public static class ConvertLinkSuccess {
		public String getStore() {
			return store;
		}

		public String getSlug() {
			return slug;
		}

		private String store;
		private String slug;

		public ConvertLinkSuccess(String store, String slug) {
			this.store = store;
			this.slug = slug;
		}

	}

	public static class ConvertLinkFail {
		public String getMessage() {
			return message;
		}

		String message;

		public ConvertLinkFail(String message) {
			this.message = message;
		}

	}

	public static class HasGiftBox {
	}

	public static class OutOfGiftBox {
	}

	public static class CommentFBSuccess {
	}

	public static class CommentFBFail {
	}

	public static class LogoutFailed {

	}

	public static class GetFeedLikesSuccess {
		public FBLikes getLikesData() {
			return likesData;
		}

		private FBLikes likesData;

		public GetFeedLikesSuccess(FBLikes likesData) {
			this.likesData = likesData;
		}

	}

	public static class getFeedCommentSuccess {
		public List<FBComments> getCommentList() {
			return commentList;
		}

		List<FBComments> commentList;

		public getFeedCommentSuccess(List<FBComments> commentList) {
			this.commentList = commentList;
		}
	}

	public static class getFeedCommentFail {

	}

	public static class VersionBoughtEvent {
		public String getType() {
			return type;
		}

		public MenuItem getItem() {
			return item;
		}

		public View getV() {
			return v;
		}

		private View v;
		private MenuItem item;
		private String type;

		public VersionBoughtEvent(View v, MenuItem item, String type) {
			this.v = v;
			this.item = item;
			this.type = type;
		}
	}

	public static class VersionNotBoughtEvent {
		public String getType() {
			return type;
		}

		public MenuItem getItem() {
			return item;
		}

		public View getV() {
			return v;
		}

		private View v;
		private MenuItem item;
		private String type;

		public VersionNotBoughtEvent(View v, MenuItem item, String type) {
			this.v = v;
			this.item = item;
			this.type = type;
		}
	}

	public static class CheckVersionBoughtFail {
		public String getMessage() {
			return message;
		}

		String message;

		public CheckVersionBoughtFail(String message) {
			this.message = message;
		}

	}

	public static class GetLikeNumberEvent {
		public long getLikes() {
			return likes;
		}

		private long likes;

		public GetLikeNumberEvent(long likes) {
			this.likes = likes;
		}
	}

	public static class LikeSuccessEvent {
	}

	public static class LikeFailEvent {
	}

	public static class UnLikeSuccessEvent {
	}

	public static class UnLikeFailEvent {
	}

	public static class LikedEvent {

	}

	public static class NotLikedEvent {
	}

	public static class AllCollectionsEvent {
		public List<CollectionList> getCollectionList() {
			return collectionList;
		}

		private List<CollectionList> collectionList;

		public AllCollectionsEvent(List<CollectionList> collectionList) {
			this.collectionList = collectionList;
		}
	}

	public static class DownloadCanceledEvent {
		public long getDownloadId() {
			return downloadId;
		}

		private long downloadId;

		public DownloadCanceledEvent(long downloadId) {
			this.downloadId = downloadId;
		}
	}

	public static class ReportGiftboxSuccess {
		public String getPackageName() {
			return packageName;
		}

		public String getType() {
			return type;
		}

		public Giftbox getGift() {
			return gift;
		}

		private String type;
		private Giftbox gift;
		private String packageName;

		public ReportGiftboxSuccess(String type, Giftbox gift, String p) {
			this.type = type;
			this.gift = gift;
			this.packageName = p;
		}
	}

	public static class ConfirmGiftBoxSuccess {
		public String getType() {
			return type;
		}

		public String getSlug() {
			return slug;
		}

		private String type;
		private String slug;

		public ConfirmGiftBoxSuccess(String type, String slug) {
			this.type = type;
			this.slug = slug;
		}

	}

	public static class GiftboxNotExists {
		public String getMessage() {
			return message;
		}

		private String message;

		public GiftboxNotExists(String message) {
			this.message = message;
		}

	}

	public static class ReportGiftboxFail {
		public String getType() {
			return type;
		}

		private String type;

		public ReportGiftboxFail(String type) {
			this.type = type;
		}

	}

	public static class ReportInstallSuccess {
	}

	public static class ReportInstallFail {
	}

	public static class GetFullItemInfoFail {
		public String getMessage() {
			return message;
		}

		private String message;

		public GetFullItemInfoFail(String message) {
			this.message = message;
		}

	}

	public static class CreateUserSettingSuccess {
	}

	public static class CreateUserSettingFail {
		public String getName() {
			return name;
		}

		public String getContent() {
			return content;
		}

		private String name;
		private String content;

		public CreateUserSettingFail(String name, String content) {
			this.name = name;
			this.content = content;
		}

	}

	public static class GetSettingDetailsListSuccess {
		public List<GiftSetting> getListGift() {
			return listGift;
		}

		private List<GiftSetting> listGift;

		public GetSettingDetailsListSuccess(List<GiftSetting> listGift) {
			this.listGift = listGift;
		}
	}

	public static class GetSettingListSuccess {
		public List<String> getList() {
			return list;
		}

		private List<String> list;

		public GetSettingListSuccess(List<String> list) {
			this.list = list;
		}

	}

	public static class GetSettingListFail {
		public int getErrorCode() {
			return errorCode;
		}

		private int errorCode;

		public GetSettingListFail(int errorCode) {
			this.errorCode = errorCode;
		}

	}

	public static class CardSuccessEvent {
		public String getFrom() {
			return from;
		}

		public String getTopupId() {
			return topupId;
		}

		String topupId;
		String from;

		public CardSuccessEvent(String topupId, String from) {
			this.topupId = topupId;
			this.from = from;
		}

	}

	public static class CardFailEvent {
		public String getMessage() {
			return message;
		}

		String message;

		public CardFailEvent(String message) {
			this.message = message;
		}

	}

	public static class GetWishListSuccessEvent {
		public List<DownloadLaterItem> getList() {
			return list;
		}

		private List<DownloadLaterItem> list;

		public GetWishListSuccessEvent(List<DownloadLaterItem> list) {
			this.list = list;
		}

	}

	public static class RecentSearchLoadedEvent {
		public List<String> getKeywordList() {
			return keywordList;
		}

		List<String> keywordList;

		public RecentSearchLoadedEvent(List<String> keywordList) {
			this.keywordList = keywordList;
		}

	}

	public static class EmptyFileEvent {
		public String getType() {
			return type;
		}

		private String type;

		public EmptyFileEvent(String type) {
			this.type = type;
		}
	}

	public static class DownloadedFileLoadedEvent {
		public List<DownloadedItem> getList() {
			return list;
		}

		public String getType() {
			return type;
		}

		private List<DownloadedItem> list;
		private String type;

		public DownloadedFileLoadedEvent(List<DownloadedItem> list, String type) {
			this.list = list;
			this.type = type;
		}

	}

	public static class BuyMultipleSuccessEvent {
		public List<AppStoreVnApplicationInfo> getBuySuccessList() {
			return buySuccessList;
		}

		private List<AppStoreVnApplicationInfo> buySuccessList;

		public BuyMultipleSuccessEvent(
				List<AppStoreVnApplicationInfo> buySuccessList) {
			this.buySuccessList = buySuccessList;
		}
	}

	public static class BuyMultipleContentSuccessEvent {
		public List<ContentItemInfo> getBuySuccessList() {
			return buySuccessList;
		}

		private List<ContentItemInfo> buySuccessList;

		public BuyMultipleContentSuccessEvent(
				List<ContentItemInfo> buySuccessList) {
			this.buySuccessList = buySuccessList;
		}
	}

	public static class GetMultipleDownloadLinkSucessEvent {
		public List<DownloadLink> getDownloadLinkList() {
			return downloadLinkList;
		}

		public List<DownloadLink> downloadLinkList;

		public GetMultipleDownloadLinkSucessEvent(
				List<DownloadLink> downloadLinkList) {
			this.downloadLinkList = downloadLinkList;
		}

	}

	public static class EmptyEvent {

	}

	public static class AppInstalledEvent {
		public InstalledAppItem getApp() {
			return app;
		}

		InstalledAppItem app;

		public AppInstalledEvent(InstalledAppItem app) {
			this.app = app;
		}
	}

	public static class AppUninstalledEvent {
		public InstalledAppItem getApp() {
			return app;
		}

		InstalledAppItem app;

		public AppUninstalledEvent(InstalledAppItem app) {
			this.app = app;
		}
	}

	public static class CallGoogleAPISuccessEvent {
		public UserInfo getUser() {
			return user;
		}

		private UserInfo user;

		public CallGoogleAPISuccessEvent(UserInfo user) {
			this.user = user;
		}
	}

	public static class RequestTokenEvent {
		public String getRequestToken() {
			return requestToken;
		}

		private String requestToken;

		public RequestTokenEvent(String requestToken) {
			this.requestToken = requestToken;
		}
	}

	public static class LoginFailEvent {
		public String getErrorCode() {
			return errorCode;
		}

		private String errorCode;

		public LoginFailEvent(String errorCode) {
			this.errorCode = errorCode;
		}
	}

	public static class RequestFailEvent {
		public int getErrorCode() {
			return errorCode;
		}
		public String toptype;
		private int errorCode;
		public RequestFailEvent(int errorCode) {
			this.errorCode = errorCode;
		}
		public RequestFailEvent(int errorCode,String toptype) {
			this.errorCode = errorCode;
			this.toptype=toptype;
		}
	}

	public static class GetRecommendFailEvent {
		public int getErrorCode() {
			return errorCode;
		}

		private int errorCode;

		public GetRecommendFailEvent(int errorCode) {
			this.errorCode = errorCode;
		}
	}

	public static class GetTopFailEvent {
		public int getErrorCode() {
			return errorCode;
		}

		public String getType() {
			return type;
		}

		private int errorCode;
		private String type;

		public GetTopFailEvent(int errorCode, String type) {
			this.errorCode = errorCode;
			this.type = type;
		}
	}

	public static class TopNoContentEvent {
		public String getType() {
			return type;
		}

		private String type;

		public TopNoContentEvent(String type) {
			this.type = type;
		}

	}

	public static class TopEndOfContentEvent {
		public String getType() {
			return type;
		}

		private String type;

		public TopEndOfContentEvent(String type) {
			this.type = type;
		}

	}

	public static class BuyFailEvent {
		public String getTopType() {
			return topType;
		}

		public String getMessage() {
			return message;
		}

		private String message;
		private String topType;

		public BuyFailEvent(String message, String topType) {
			this.message = message;
			this.topType = topType;
		}
	}

	public static class CategoryListSuccessEvent {
		public List<CategoryItem> getCategoryList() {
			return categoryList;
		}

		List<CategoryItem> categoryList;

		public CategoryListSuccessEvent(List<CategoryItem> categoryList) {
			this.categoryList = categoryList;
		}
	}

	public static class TopContentSuccessEvent {
		public String getTopType() {
			return topType;
		}

		public List<ContentItemInfo> getItemList() {
			return itemList;
		}

		List<ContentItemInfo> itemList;
		private String topType;

		public TopContentSuccessEvent(List<ContentItemInfo> itemList,
				String topType) {
			this.itemList = itemList;
			this.topType = topType;
		}
	}

	public static class CollectionContentSuccessEvent {

		public List<ContentItemInfo> getItemList() {
			return itemList;
		}

		List<ContentItemInfo> itemList;

		public CollectionContentSuccessEvent(List<ContentItemInfo> itemList) {
			this.itemList = itemList;
		}
	}

	public static class SearchAllCompleteEvent {
		public String getTotalResult() {
			return totalResult;
		}

		public List<ContentItemInfo> getItemList() {
			return itemList;
		}

		public int getStoreId() {
			return storeId;
		}

		List<ContentItemInfo> itemList;
		private int storeId;
		private String totalResult;

		public SearchAllCompleteEvent(List<ContentItemInfo> itemList,
				int storeId, String totalResult) {
			this.itemList = itemList;
			this.storeId = storeId;
			this.totalResult = totalResult;
		}
	}

	public static class SearchAllFailEvent {
		public int getStoreId() {
			return storeId;
		}

		int storeId;

		public SearchAllFailEvent(int storeId) {
			this.storeId = storeId;
		}

	}

	public static class SearchCompleteEvent {
		public List<ContentItemInfo> getItemList() {
			return itemList;
		}

		public int getStoreId() {
			return storeId;
		}

		List<ContentItemInfo> itemList;
		private int storeId;

		public SearchCompleteEvent(List<ContentItemInfo> itemList, int storeId) {
			this.itemList = itemList;
			this.storeId = storeId;
		}
	}

	public static class SearchFailEvent {
		public int getStoreId() {
			return storeId;
		}

		int storeId;

		public SearchFailEvent(int storeId) {
			this.storeId = storeId;
		}

	}

	public static class GetFullItemInfoSuccessEvent {
		public ContentItemInfo getItem() {
			return item;
		}

		private ContentItemInfo item;

		public GetFullItemInfoSuccessEvent(ContentItemInfo item) {
			this.item = item;
		}
	}

	public static class GetVersionListSuccessEvent {
		public List<Version> getVersionList() {
			return versionList;
		}

		public String getTopType() {
			return topType;
		}

		private List<Version> versionList;
		private String topType;

		public GetVersionListSuccessEvent(List<Version> versionList,
				String topType) {
			this.versionList = versionList;
			this.topType = topType;
		}
	}

	public static class GetItemByCatSucessEvent {
		public List<ContentItemInfo> getCategoryList() {
			return itemList;
		}

		List<ContentItemInfo> itemList;

		public GetItemByCatSucessEvent(List<ContentItemInfo> itemList) {
			this.itemList = itemList;
		}
	}

	public static class ChangePasswordSuccessEvent {
		public String getMessage() {
			return message;
		}

		private String message;

		public ChangePasswordSuccessEvent(String message) {
			this.message = message;
		}
	}

	public static class ChangePasswordFailEvent {
		public String getMessage() {
			return message;
		}

		private String message;

		public ChangePasswordFailEvent(String message) {
			this.message = message;
		}
	}

	public static class HasUpdateContentEvent {
		public boolean isShowNotification() {
			return showNotification;
		}

		public List<AppStoreVnApplicationInfo> getList() {
			return list;
		}

		private List<AppStoreVnApplicationInfo> list;
		private boolean showNotification;

		public HasUpdateContentEvent(List<AppStoreVnApplicationInfo> list,
				boolean show) {
			this.list = list;
			this.showNotification = show;
		}
	}

	public static class NoUpdateContentEvent {
	}

	public static class GetHotByCatSucessEvent {
		public List<ContentItemInfo> getItemList() {
			return itemList;
		}

		public int getIsHot() {
			return isHot;
		}

		List<ContentItemInfo> itemList;
		private int isHot;

		public GetHotByCatSucessEvent(List<ContentItemInfo> itemList, int isHot) {
			this.itemList = itemList;
			this.isHot = isHot;
		}
	}

	public static class GetCommentSuccessEvent {
		public List<CommentItem> getCommentList() {
			return commentList;
		}

		List<CommentItem> commentList;

		public GetCommentSuccessEvent(List<CommentItem> commentList) {
			this.commentList = commentList;
		}
	}

	public static class GetCommentsFailEvent {
		public String getMessage() {
			return message;
		}

		private String message;

		public GetCommentsFailEvent(String message) {
			this.message = message;
		}

	}

	public static class BuySuccessEvent {
		public String getSlug() {
			return slug;
		}

		public String getTopType() {
			return topType;
		}

		public long getVersionId() {
			return versionId;
		}

		private long versionId;
		private String topType;
		private String slug;

		public BuySuccessEvent(String slug, long versionId, String topType) {
			this.versionId = versionId;
			this.topType = topType;
			this.slug = slug;
		}

	}

	public static class BuyAttachedSuccessEvent {
		public String getSlug() {
			return slug;
		}

		public String getTopType() {
			return topType;
		}

		public int getVersionId() {
			return versionId;
		}

		private int versionId;
		private String topType;
		private String slug;

		public BuyAttachedSuccessEvent(String slug, int versionId,
				String topType) {
			this.versionId = versionId;
			this.topType = topType;
			this.slug = slug;
		}

	}

	public static class PostCommentSuccessEvent {

	}

	public static class RatingSuccessEvent {

	}

	public static class GetDownloadLinkSuccess {
		public String getSlug() {
			return slug;
		}

		public String getTopType() {
			return topType;
		}

		public DownloadLink getDl() {
			return dl;
		}

		private DownloadLink dl;
		private String topType;
		private String slug;

		public GetDownloadLinkSuccess(DownloadLink dl, String topType,
				String slug) {
			this.dl = dl;
			this.topType = topType;
			this.slug = slug;
		}

	}

	public static class GetAttachedDownloadLinkSuccess {
		public String getTopType() {
			return topType;
		}

		public DownloadLink getDl() {
			return dl;
		}

		private DownloadLink dl;
		private String topType;

		public GetAttachedDownloadLinkSuccess(DownloadLink dl, String topType) {
			this.dl = dl;
			this.topType = topType;
		}

	}

	public static class GetDownloadLinkFailEvent {
		public String getType() {
			return type;
		}

		public String getMessage() {
			return message;
		}

		private String message;
		private String type;

		public GetDownloadLinkFailEvent(String message, String type) {
			this.message = message;
			this.type = type;
		}

	}

	public static class GetAttachedDownloadLinkFailEvent {
		public String getType() {
			return type;
		}

		public String getMessage() {
			return message;
		}

		private String message;
		private String type;

		public GetAttachedDownloadLinkFailEvent(String message, String type) {
			this.message = message;
			this.type = type;
		}

	}

	public static class AllBannerSuccessEvent {
		public String getWhere() {
			return where;
		}

		public Map<String, BannerItem> getBannerList() {
			return bannerList;
		}

		private Map<String, BannerItem> bannerList;
		private String where;

		public AllBannerSuccessEvent(Map<String, BannerItem> bannerList,
				String where) {
			this.bannerList = bannerList;
			this.where = where;
		}
	}

	public static class GetBannerFailEvent {
		public String getWhere() {
			return where;
		}

		private String where;

		public GetBannerFailEvent(String where) {
			this.where = where;
		}
	}

	public static class PageBannerSuccessEvent {
		public String getWhere() {
			return where;
		}

		public List<BannerItem> getBannerList() {
			return bannerList;
		}

		private List<BannerItem> bannerList;
		private String where;

		public PageBannerSuccessEvent(List<BannerItem> bannerList, String where) {
			this.bannerList = bannerList;
			this.where = where;
		}
	}

	public static class LoginEvent {
		public String access_token;
		public LoginEvent(String access_token){
			this.access_token=access_token;
		}
	}

	public static class CallGoogleApiEvent {
	}

	public static class GoogleTokenEvent {
		public String getGoogleToken() {
			return googleToken;
		}

		public void setGoogleToken(String googleToken) {
			this.googleToken = googleToken;
		}

		private String googleToken;

	}

	public static class LogoutEvent {
		public boolean isSuccess() {
			return success;
		}

		public LogoutEvent(boolean success) {
			this.success = success;
		}

		boolean success;

	}

	public static class UserInfoSuccessEvent {
		public UserInfo getUser() {
			return user;
		}

		private UserInfo user;

		public UserInfoSuccessEvent(UserInfo user) {
			this.user = user;
		}

	}

	public static class UserInfoFailEvent {
		public int getErrorCode() {
			return errorCode;
		}

		private int errorCode;

		public UserInfoFailEvent(int errorCode) {
			this.errorCode = errorCode;
		}
	}

	public static class ClientUpdateNameNotFoundEvent {

	}

	public static class LatestVersionEvent {
		public String getCountryCode() {
			return countryCode;
		}

		private String countryCode;

		public LatestVersionEvent(String countryCode) {
			this.countryCode = countryCode;
		}

	}

	public static class ClientUpdatableEvent {

	}

	public static class RegisterFailedEvent {
		public String getErrorCode() {
			return errorCode;
		}

		private String errorCode;

		public RegisterFailedEvent(String errorCode) {
			this.errorCode = errorCode;
		}
	}

	public static class NoStartScreenBannerEvent {

	}

	public static class GetAccessTokenSuccessEvent {
		public AccessToken getAt() {
			return at;
		}

		private AccessToken at;

		public GetAccessTokenSuccessEvent(AccessToken at) {
			this.at = at;
		}

	}

	public static class GetAccessTokenFailEvent {
		public int getErrorCode() {
			return errorCode;
		}

		private int errorCode;

		public GetAccessTokenFailEvent(int errorCode) {
			this.errorCode = errorCode;
		}
	}

	public static class ExchangeTYMFailEvent {
		public String getMessage() {
			return message;
		}

		private String message;

		public ExchangeTYMFailEvent(String message) {
			this.message = message;
		}
	}

	public static class ExchangeTYMSuccessEvent {
		public ExchangeTymData getData() {
			return data;
		}

		private ExchangeTymData data;

		public ExchangeTYMSuccessEvent(ExchangeTymData data) {
			this.data = data;
		}
	}

	public static class GiftCodeEvent {
		public boolean isSuccess() {
			return success;
		}

		public String getMessage() {
			return message;
		}

		private String message;
		private boolean success;

		public GiftCodeEvent(String message, boolean success) {
			this.message = message;
			this.success = success;
		}
	}

	public static class RegisterSuccessEvent {

	}

	public static class RegisterGoogleSuccessEvent {
		public AccessToken getAccessToken() {
			return accessToken;
		}

		private AccessToken accessToken;

		public RegisterGoogleSuccessEvent(AccessToken accessToken) {
			this.accessToken = accessToken;
		}
	}

	public static class RegisterFacebookSuccessEvent {
		public AccessToken getAccessToken() {
			return accessToken;
		}

		private AccessToken accessToken;

		public RegisterFacebookSuccessEvent(AccessToken accessToken) {
			this.accessToken = accessToken;
		}
	}

	public static class LoginSuccessEvent {
		public AccessToken getAccessToken() {
			return accessToken;
		}

		private AccessToken accessToken;

		public LoginSuccessEvent(AccessToken accessToken) {
			this.accessToken = accessToken;
		}
	}

	public static class LoginGoogleSuccessEvent {
		public AccessToken getAccessToken() {
			return accessToken;
		}

		private AccessToken accessToken;

		public LoginGoogleSuccessEvent(AccessToken accessToken) {
			this.accessToken = accessToken;
		}
	}

	public static class LoginFacebookSuccessEvent {
		public AccessToken getAccessToken() {
			return accessToken;
		}

		private AccessToken accessToken;

		public LoginFacebookSuccessEvent(AccessToken accessToken) {
			this.accessToken = accessToken;
		}
	}

	public static class FeedListSuccessEvent {

		public List<FBFeedItem> getFeedList() {
			return feedList;
		}

		private List<FBFeedItem> feedList;

		public FeedListSuccessEvent(List<FBFeedItem> feedList) {
			this.feedList = feedList;
		}
	}

	public static class FeedSuccessEvent {

		public FeedItem getFeed() {
			return feed;
		}

		private FeedItem feed;

		public FeedSuccessEvent(FeedItem feed) {
			this.feed = feed;
		}
	}

	public static class FeedListFailEvent {

		public String getMessage() {
			return message;
		}

		private String message;

		public FeedListFailEvent(String message) {
			this.message = message;
		}
	}

	public static class UserTransactionSuccessEvent {
		public List<UserTransaction> getList() {
			return list;
		}

		private List<UserTransaction> list;

		public UserTransactionSuccessEvent(List<UserTransaction> list) {
			this.list = list;
		}
	}

	public static class HotKeywordSuccessEvent {
		public List<String> getKeywords() {
			return keywords;
		}

		private List<String> keywords;

		public HotKeywordSuccessEvent(List<String> keywords) {
			this.keywords = keywords;
		}
	}

	public static class GetUserDownloadedSuccessEvent {
		public int getStoreId() {
			return storeId;
		}

		public List<UserDownloaded> getDownloadedList() {
			return downloadedList;
		}

		private List<UserDownloaded> downloadedList;
		private int storeId;

		public GetUserDownloadedSuccessEvent(
				List<UserDownloaded> downloadedList, int storeId) {
			this.downloadedList = downloadedList;
			this.storeId = storeId;
		}
	}

	public static class GetDownloadLogFailEvent {
		public int getErrorCode() {
			return errorCode;
		}

		public int getStoreId() {
			return storeId;
		}

		private int storeId;
		private int errorCode;

		public GetDownloadLogFailEvent(int errorCode, int storeId) {
			this.storeId = storeId;
			this.errorCode = errorCode;
		}

	}

	public static class GetRecommentItemSuccessEvent {
		public List<RecommendItem> getRecommendList() {
			return recommendList;
		}

		private List<RecommendItem> recommendList;

		public GetRecommentItemSuccessEvent(List<RecommendItem> recommendList) {
			this.recommendList = recommendList;
		}
	}

	public static class CollectionGroupEvent {
		public List<CollectionGroup> getCollGroupList() {
			return collGroupList;
		}

		private List<CollectionGroup> collGroupList;

		public CollectionGroupEvent(List<CollectionGroup> collGroupList) {
			this.collGroupList = collGroupList;
		}

	}

	public static class Level2CollectionListEvent {
		public String getJsonData() {
			return jsonData;
		}

		public List<CollectionList> getCollectionList() {
			return collectionList;
		}

		private List<CollectionList> collectionList;
		private String jsonData;

		public Level2CollectionListEvent(List<CollectionList> collectionList,
				String json) {
			this.collectionList = collectionList;
			this.jsonData = json;
		}

	}

	public static class Level3CollectionListEvent {
		public List<CollectionList> getCollectionList() {
			return collectionList;
		}

		private List<CollectionList> collectionList;

		public Level3CollectionListEvent(List<CollectionList> collectionList) {
			this.collectionList = collectionList;
		}
	}

	public static class TYMSMSEvent {
		public String getFrom() {
			return from;
		}

		public SMSPayment getData() {
			return data;
		}

		private SMSPayment data;
		private String from;

		public TYMSMSEvent(SMSPayment data, String from) {
			this.data = data;
			this.from = from;
		}

	}

	public static class TopupSuccessEvent {
		public TopupResult getResult() {
			return result;
		}

		private TopupResult result;

		public TopupSuccessEvent(TopupResult result) {
			this.result = result;
		}
	}

	public static class SMSTYMFailEvent {
		public int getErrorCode() {
			return errorCode;
		}

		private int errorCode;

		public SMSTYMFailEvent(int errorCode) {
			this.errorCode = errorCode;
		}
	}

	public static class TopupFailEvent {
		public int getErrorCode() {
			return errorCode;
		}

		private int errorCode;

		public TopupFailEvent(int errorCode) {
			this.errorCode = errorCode;
		}
	}

	public static class HomeScreenFailEvent {
		public int getErrorCode() {
			return errorCode;
		}

		private int errorCode;

		public HomeScreenFailEvent(int errorCode) {
			this.errorCode = errorCode;
		}
	}

	public static class TYMBankSuccessEvent {
		public BankPayment getData() {
			return data;
		}

		private BankPayment data;

		public TYMBankSuccessEvent(BankPayment data) {
			this.data = data;
		}
	}

	public static class BankTYMFailEvent {
		public int getErrorCode() {
			return errorCode;
		}

		private int errorCode;

		public BankTYMFailEvent(int errorCode) {
			this.errorCode = errorCode;
		}
	}

	public static class TYMPaypalSuccessEvent {
		public PaypalPayment getData() {
			return data;
		}

		private PaypalPayment data;

		public TYMPaypalSuccessEvent(PaypalPayment data) {
			this.data = data;
		}
	}

	public static class PaypalTYMFailEvent {
		public int getErrorCode() {
			return errorCode;
		}

		private int errorCode;

		public PaypalTYMFailEvent(int errorCode) {
			this.errorCode = errorCode;
		}
	}

	public static class GetInstalledAppSuccessEvent {
		public ArrayList<AppStoreVnApplicationInfo> getListApp() {
			return listApp;
		}

		ArrayList<AppStoreVnApplicationInfo> listApp;

		public GetInstalledAppSuccessEvent(
				ArrayList<AppStoreVnApplicationInfo> listApp) {
			this.listApp = listApp;
		}
	}

	public static class UpdateDownloadProgressEvent {
		public String getTitle() {
			return title;
		}

		public long getDownloadedBytes() {
			return downloadedBytes;
		}

		public long getTotalBytes() {
			return totalBytes;
		}

		private String title;
		private long downloadedBytes;
		private long totalBytes;

		public UpdateDownloadProgressEvent(String title, long downloadedBytes,
				long totalBytes) {
			this.title = title;
			this.downloadedBytes = downloadedBytes;
			this.totalBytes = totalBytes;
		}

	}

	public static class DownloadFailEvent {
		public String getReferer() {
			return referer;
		}

		public String getPath() {
			return path;
		}

		public String getMessage() {
			return message;
		}

		public long getId() {
			return id;
		}

		private String message;
		private long id;
		private String path;
		private String referer;

		public DownloadFailEvent(String message, long id, String path,
				String referer) {
			this.message = message;
			this.id = id;
			this.path = path;
			this.referer = referer;
		}
	}

	public static class DownloadSuccessEvent {
		public String getName() {
			return name;
		}

		public String getStore() {
			return store;
		}

		public long getId() {
			return id;
		}

		long id;
		private String name;
		private String store;

		public DownloadSuccessEvent(long id, String name, String store) {
			this.id = id;
			this.name = name;
			this.store = store;
		}
	}

	public static class DeleteFileEvent {
		public boolean isDeleted() {
			return deleted;
		}

		// TODO Auto-generated method stub
		boolean deleted;

		public DeleteFileEvent(boolean deleted) {
			this.deleted = deleted;
		}

	}

	public static class CheckUserBirthdayFailed {

	}

	public static class CheckUserBirthdayFailedWithMsg {

	}

	public static class CheckUserBirthdaySucceed {
		private int num_of_gold_tym;
		private int received;

		public int getNum_of_gold_tym() {
			return num_of_gold_tym;
		}

		public void setNum_of_gold_tym(int num_of_gold_tym) {
			this.num_of_gold_tym = num_of_gold_tym;
		}

		public int getReceived() {
			return received;
		}

		public void setReceived(int received) {
			this.received = received;
		}

	}

	public static class ConfirmUserBirthdaySucceed {
		private boolean status;
		private int received;
		private int num_of_gold_tym;

		public boolean isStatus() {
			return status;
		}

		public void setStatus(boolean status) {
			this.status = status;
		}

		public int getReceived() {
			return received;
		}

		public void setReceived(int received) {
			this.received = received;
		}

		public int getNo_of_gold_tym() {
			return num_of_gold_tym;
		}

		public void setNo_of_gold_tym(int no_of_gold_tym) {
			this.num_of_gold_tym = no_of_gold_tym;
		}

	}

	public static class ConfirmUserBirthdayFailed {
		private boolean status;

		public boolean isStatus() {
			return status;
		}

		public void setStatus(boolean status) {
			this.status = status;
		}

	}
	
	public static class GetTorrentDownloadLinkSuccess {
		public GetTorrentDownloadLinkSuccess() {
		}

	}
	
	public static class GetTorrentDownloadLinkFail {
		public GetTorrentDownloadLinkFail() {
		}

	}
	
}
